<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="36-13-手写Promise-then回调函数的异步执行.js"></script>
</head>

<body>
    <script>

    //    let p1= Promise.resolve('ok');
    //    let p1= Promise.resolve(new Promise((res,rej)=>{
    //     //  rej('失败')
    //         res('成功')
    //    }));

    //    let p1 = Promise.reject('error');
    //    let p1 = Promise.reject(new Promise((res,rej)=>{
    //        res('ok')
    //    }));

    //    console.log(p1);

        let p = new Promise((res,rej)=>{
            console.log("excutor");
            res('ok');
        });

        p.then(val=>{
            console.log(val); //ok
        });

        console.log('end');

        // let p = new Promise((res, rej) => {
        //     // res('ok');
        //     rej('error')
        //     // throw '错误'

        //     // setTimeout(() => {
        //     //     // res('ok异步')
        //     //     rej('失败')
        //     // }, 100);
        // })
        // // console.log(p);

        // let p2= p.catch(rea=>{
        //     console.log("失败",rea);
        //     return 'okkk'
        // })

        // console.log(p2);


        // let p = new Promise((res, rej) => {
        // //   res('ok')
        //     // rej('error');
        //     // setTimeout(() => {
        //     //     rej('成了')
        //     // }, 100);
        //     throw '错误'
        // });

        // let p2 = p.then(val=>{
        //     // return 'ok2';
        //     // return new Promise((res,rej)=>{
        //     //     res('成功');
        //     //     // rej('失败');
        //     // })

        //     // throw '错误'
        // },rea=>{
        //     // return '123'
        //     // throw '错了'
        //     return new Promise((res,rej)=>{
        //         // res('成功');
        //         rej('失败2');
        //     })
        // });

        // console.log(p2);

        // console.log(p);
        // 参数1：成功回调
        // 参数2：失败回调
        // p.then(val=>{
        //     console.log('成功',val);
        // },rea=>{
        //     console.log('失败',rea);
        // });

        // p.then(val=>{
        //     console.log('成功2',val);
        // },rea=>{
        //     console.log('失败2',rea);
        // });

        // p.then(val=>{
        //     console.log('成功3',val);
        // },rea=>{
        //     console.log('失败3',rea);
        // });

        // console.log(p);
    </script>
</body>

</html>